
package test;


import javax.swing.JPanel;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class MainPanel extends JPanel {
    private JTable table;


    /**
     * Create the panel.
     */
    public MainPanel() {

        JLabel lblNewLabel = new JLabel("订单历史");
        lblNewLabel.setFont(new Font("宋体", Font.BOLD, 25));

        JLabel lblNewLabel_1 = new JLabel("在此界面您可以查询您的所有购买记录");
        lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 20));
        this.setBounds(150, 150, 1191, 588);

        JScrollPane scrollPane = new JScrollPane();
        JTextArea textArea = new JTextArea();
        JComboBox comboBox = new JComboBox();
        comboBox.setModel(new DefaultComboBoxModel(new String[]{"", "PUBG", "NBA2K", "PICO PARK", "巫师三", "火影忍者", "糖豆人", "HOLLOW KNIGHT", "RED Dead Redemption 2", "赛博朋克2077", "刺客信条：起源", "永劫无间", "无主之地2", "无主之地3"}));

        JLabel SumLabel = new JLabel("");
        SumLabel.setFont(new Font("宋体", Font.PLAIN, 20));

        JButton btnNewButton = new JButton("搜索");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String str = comboBox.getSelectedItem().toString();
                textArea.setText("");
                for (int i = 0; i < table.getRowCount(); i++) {
                    if (str == (String) MainPanel.this.table.getValueAt(i, 1)) {
                        textArea.append("名称：" + (String) ((String) MainPanel.this.table.getValueAt(i, 1)) + "\n");
                        textArea.append("时间：" + (String) ((String) MainPanel.this.table.getValueAt(i, 0)) + "\n");
                        textArea.append("价格(元)：" + (String) ((String) MainPanel.this.table.getValueAt(i, 2)) + "\n");
                        textArea.append("详细信息：" + (String) ((String) MainPanel.this.table.getValueAt(i, 3)) + "\n");
                        break;
                    }

                    if (i == MainPanel.this.table.getRowCount() - 1) {
                        textArea.setText("");
                    }
                }
            }
        });
        btnNewButton.setFont(new Font("宋体", Font.PLAIN, 20));

        JScrollPane scrollPane_1 = new JScrollPane();

        GroupLayout groupLayout = new GroupLayout(this);
        groupLayout.setHorizontalGroup(
                groupLayout.createParallelGroup(Alignment.LEADING)
                        .addGroup(groupLayout.createSequentialGroup()
                                .addGap(33)
                                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
                                        .addGroup(groupLayout.createSequentialGroup()
                                                .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 505, GroupLayout.PREFERRED_SIZE)
                                                .addGap(32)
                                                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                                                        .addGroup(groupLayout.createSequentialGroup()
                                                                .addComponent(comboBox, GroupLayout.PREFERRED_SIZE, 197, GroupLayout.PREFERRED_SIZE)
                                                                .addGap(18)
                                                                .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 110, GroupLayout.PREFERRED_SIZE))
                                                        .addComponent(scrollPane_1, GroupLayout.PREFERRED_SIZE, 329, GroupLayout.PREFERRED_SIZE))
                                                .addGap(79))
                                        .addComponent(lblNewLabel_1, GroupLayout.PREFERRED_SIZE, 349, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 232, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(SumLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addContainerGap(213, Short.MAX_VALUE))
        );
        groupLayout.setVerticalGroup(
                groupLayout.createParallelGroup(Alignment.LEADING)
                        .addGroup(groupLayout.createSequentialGroup()
                                .addGap(33)
                                .addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(ComponentPlacement.RELATED)
                                .addComponent(lblNewLabel_1, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(ComponentPlacement.UNRELATED)
                                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                                        .addGroup(groupLayout.createSequentialGroup()
                                                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
                                                        .addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                        .addComponent(comboBox, GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE))
                                                .addPreferredGap(ComponentPlacement.UNRELATED)
                                                .addComponent(scrollPane_1, GroupLayout.PREFERRED_SIZE, 304, GroupLayout.PREFERRED_SIZE))
                                        .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 353, GroupLayout.PREFERRED_SIZE))
                                .addGap(17)
                                .addComponent(SumLabel, GroupLayout.PREFERRED_SIZE, 36, GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(47, Short.MAX_VALUE))
        );


        scrollPane_1.setViewportView(textArea);
        textArea.setFont(new Font("Monospaced", Font.PLAIN, 20));
        textArea.setLineWrap(true);

        table = new JTable();
        table.setFont(new Font("宋体", Font.PLAIN, 15));
        table.setRowHeight(30);
        table.setModel(new DefaultTableModel(
                new Object[][]{
                        {"2021.12.15", "PUBG", "98.00", "《绝地求生》(PUBG) 是由韩国Krafton工作室开发的一款战术竞技型射击类沙盒游戏。在该游戏中，玩家需要在游戏地图上收集各种资源，并在不断缩小的安全区域内对抗其他玩家，让自己生存到最后"},
                        {"2021.10.1", "NBA2K", "200.00", "《NBA 2K》是一款由Take-Two Interactive旗下的Rockstar Games、2K Games制作的NBA篮球类游戏，初版发行于1999年11月10日。\n" +
                                "此系列作品有着全方位的NBA体验、精致的球员人工智能和招牌动作等特色，用户可以通过细致精确的操作来感受篮球运动的精妙之处，并体会篮球战术打法的美丽"},
                        {"2021.9.8", "PICO PARK", "22.00", "《PICO PARK:Classic Edition》是一款非常好玩的多人合作动作益智游戏，将会带个玩家们一起合作过关带来的乐趣。在所有的48个关卡中玩家将会体验专门为多人合作而设计的谜题。"},
                        {"2020.7.12", "\u5DEB\u5E08\u4E09", "30.00", "《巫师3：狂猎》是由CD Projekt RED制作，WB Games（北美地区）、Spike Chunsoft（日本地区）发行的一款角色扮演类游戏，游戏于2015年5月19日在Windows、Playstation 4、Xbox One平台发行，2019年10月13日登录Nintendo Switch平台。游戏改编自小说《猎魔人》系列，为《巫师》系列游戏作品的第三部，同时也是杰洛特冒险的终曲。"},
                        {"2020.6.1", "\u706B\u5F71\u5FCD\u8005", "38.00", "《火影忍者：究极忍者风暴4》是由Cyber Connect2公司开发的一款格斗类游戏，是《究极忍者风暴》系列游戏之一，于2016年2月4日发行。"},
                        {"2020.5.8", "\u7CD6\u8C46\u4EBA", "58.00", "《糖豆人：终极淘汰赛》(Fall Guys: Ultimate Knockout) 是一款由Mediatonic研发，Devolver Digital发行的多人乱斗闯关综艺游戏，哔哩哔哩为该游戏的中国独家内容合作平台。"},
                        {"2020.3.4", "HOLLOW KNIGHT", "20.00", "《空洞骑士》是一款2D动作冒险游戏，开发者是来自澳大利亚的一个只有三个人的小团队Team Cherry，2017年2月25日发售在PC平台。\n" +
                                "游戏背景设定在一个错综复杂的地下城“空洞巢穴”，我们的英雄在这个地下王国内开始了他的历险，他需要利用自己的能力探索遗迹、消灭怪物或者和一些怪物做朋友来帮助自己。游戏强调操作技巧和探索发现，拥有一定的难度。"},
                        {"2020.2.27", "RED Dead Redemption 2", "257.00", "《Red Dead Redemption 2》，简称RDR2，是Rockstar San Diego工作室制作，Rockstar公司发行的一款以美国西部拓荒史为题材的动作冒险类开放世界游戏，为2010年该公司发行的《Red Dead Redemption》的正统续作。\n" +
                                "游戏中述说亚瑟·摩根和声名狼藉的范德林德帮派的传奇故事，让玩家体验在 19 世纪的最后岁月里横跨美国的亡命之旅。"},
                        {"2020.2.3", "\u8D5B\u535A\u670B\u514B2077", "198.00", "《赛博朋克2077》是一款由CD Projekt RED开发的动作角色类游戏，于2020年12月10日登陆PC、Xbox 和PS4等平台。\n" +
                                "《赛博朋克 2077》的故事发生在夜之城，权力更迭和身体改造是这里不变的主题。玩家将扮演一名野心勃勃的雇佣兵：V，追寻一种独一无二的植入体——获得永生的关键。自定义角色义体、技能和玩法，探索包罗万象的城市。玩家做出的选择也将会对剧情和周遭世界产生影响。"},
                        {"2020.1.1", "\u523A\u5BA2\u4FE1\u6761\uFF1A\u8D77\u6E90", "30.00", "《刺客信条：起源》（Assassin's Creed Origins）是一部由育碧蒙特利尔工作室开发、育碧发行的动作冒险游戏。本作是《刺客信条》主系列的第七部作品，也是系列首次把时间线推前到刺客信条初代以前。\n" +
                                "游戏背景设定于托勒密王朝埃及艳后统治下的埃及，玩家所操控的角色是一位隶属于法老的护卫，称为守护者，是一名来自锡瓦名为巴耶克的埃及刺客。"},
                        {"2019.9.5", "\u6C38\u52AB\u65E0\u95F4", "98.00", "《永劫无间》是由网易旗下“24 Entertainment工作室”开发的一款多人动作竞技游戏，游戏以虚构的幻想世界为背景，阴阳二神互相杀伐，导致世界处于永劫之中。玩家需扮演一名英雄，在地图中收集各种资源，与其他玩家对抗，生存到最后。"},
                        {"2019.9.3", "\u65E0\u4E3B\u4E4B\u57302", "30.00", "《无主之地2》是Gearbox Software开发，2K Games发行的一款第一人称射击游戏，于2012年9月18日发行，是《无主之地》的续作。该游戏设定在一个名为潘朵拉的星球上，为了寻找“传说宝库”的六名“寻宝猎人”来到了这颗星球上。"},
                        {"2018.10.4", "\u65E0\u4E3B\u4E4B\u57303", "58.00", "《无主之地3》是一款由Gearbox Software开发，2K Games发行的RPG风格的FPS射击游戏，于2019年9月13日正式发售，是《无主之地2》的续作。在游戏中，玩家将选择四名全新寻宝猎人的其中一位，在全新的世界中和新型敌人展开殊死之战。与疯狂的敌人作战夺取成堆的战利品，并从星系最为残忍的邪教领袖手中拯救家园。"},
                },
                new String[]{
                        "\u65F6\u95F4", "\u540D\u79F0", "\u4EF7\u683C(\uFFE5)", "\u8BE6\u7EC6\u4FE1\u606F"
                }
        ));
        table.getColumnModel().getColumn(0).setPreferredWidth(94);
        table.getColumnModel().getColumn(1).setPreferredWidth(150);
        table.getColumnModel().getColumn(2).setPreferredWidth(91);
        table.getColumnModel().getColumn(3).setPreferredWidth(169);

        double totalMoney = 0;
        for (int i = 0; i < table.getRowCount(); i++) {
            totalMoney += Double.parseDouble((String) table.getValueAt(i, 2));
        }
        SumLabel.setText("尊敬的用户，您一共有" + table.getRowCount() + "份订单，总共消费" + totalMoney + "元，祝您生活愉快，工作顺利！");


        scrollPane.setViewportView(table);
        setLayout(groupLayout);
    }
}

